package com.ktg.mes.dv.service;

import java.util.List;
import java.util.Map;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ktg.mes.dv.domain.FindWattHourOpenTimeParam;
import com.ktg.mes.dv.domain.FindWattHourOpenTimeResult;
import com.ktg.mes.util.LService;;
import com.ktg.mes.dv.domain.DvWattHourMeterData;

/**
 * 电表数据Service接口
 *
 * @author byteco
 * @date 2022-11-30
 */
public interface IDvWattHourMeterDataService extends LService<DvWattHourMeterData>
{
    /**
     * 查询电表数据
     *
     * @param id 电表数据主键
     * @return 电表数据
     */
    public DvWattHourMeterData getInfo(Long id);

    /**
     * 查询电表数据列表
     *
     * @param entity 电表数据
     * @param page 分页对象
     * @return 电表数据集合
     */
    public IPage<DvWattHourMeterData> queryPageList(DvWattHourMeterData entity, Page<DvWattHourMeterData> page);

    /**
     * 查询电表数据
     *
     * @param entity 电表数据
     * @return 电表数据
     */
    public List<DvWattHourMeterData> queryList(DvWattHourMeterData entity);

    /**
     * 新增电表数据
     *
     * @param entity 电表数据
     * @return 结果
     */
    public void insert(DvWattHourMeterData entity);

    /**
     * 修改电表数据
     *
     * @param entity 电表数据
     * @return 结果
     */
    public boolean update(DvWattHourMeterData entity);

    /**
     * 批量删除电表数据
     *
     * @param recordIds 需要删除的电表数据主键集合
     * @return 结果
     */
    public boolean delete(Long[] recordIds);

    /**
     * 删除电表数据信息
     *
     * @param recordId 电表数据主键
     * @return 结果
     */
    public boolean delete(Long recordId);


    public List<Map> reportMinute();

    List<Map>chartMinute(Wrapper ew,String selectColumn);
    /**
     * 构建查询条件
     * @param entity
     * @return
     */
    public LambdaQueryWrapper<DvWattHourMeterData> buildQueryWrapper(DvWattHourMeterData entity);

    public List<FindWattHourOpenTimeResult> findWattHourOpenTime(FindWattHourOpenTimeParam param);

}
